From: Giuseppe Scrivano Date: Fri, 6 Mar 2015 11:21:07 +0000 (+0100) Subject: src: Move ot-tool-util from ostree/ to libotutil/ X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~866 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c70abfd43cbc16056a51d64fd12a9d0a21a81a1b;p=ostree.git src: Move ot-tool-util from ostree/ to libotutil/ These utilities are not actually specific to the ostree commandline. Signed-off-by: Giuseppe Scrivano --- diff --git a/Makefile-ostree.am b/Makefile-ostree.am index 78ef2141..0061de41 100644 --- a/Makefile-ostree.am +++ b/Makefile-ostree.am @@ -48,8 +48,6 @@ ostree_SOURCES = src/ostree/main.c \ src/ostree/ot-dump.c \ src/ostree/ot-editor.c \ src/ostree/ot-editor.h \ - src/ostree/ot-tool-util.c \ - src/ostree/ot-tool-util.h \ $(NULL) # Admin subcommand diff --git a/Makefile-otutil.am b/Makefile-otutil.am index 16098e1d..3a2b3dc9 100644 --- a/Makefile-otutil.am +++ b/Makefile-otutil.am @@ -38,6 +38,8 @@ libotutil_la_SOURCES = \ src/libotutil/ot-gio-utils.h \ src/libotutil/otutil.c \ src/libotutil/otutil.h \ + src/libotutil/ot-tool-util.c \ + src/libotutil/ot-tool-util.h \ $(NULL) libotutil_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/libglnx -I$(srcdir)/src/libotutil -DLOCALEDIR=\"$(datadir)/locale\" $(OT_INTERNAL_GIO_UNIX_CFLAGS) libotutil_la_LIBADD = $(OT_INTERNAL_GIO_UNIX_LIBS) diff --git a/src/libotutil/ot-tool-util.c b/src/libotutil/ot-tool-util.c new file mode 100644 index 00000000..57e0d0c0 --- /dev/null +++ b/src/libotutil/ot-tool-util.c @@ -0,0 +1,69 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- + * + * Copyright (C) 2015 Colin Walters + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include "otutil.h" +#include "libgsystem.h" +#include "ot-tool-util.h" + +gboolean +ot_parse_boolean (const char *option_name, + const char *value, + gboolean *out_parsed, + GError **error) +{ +#define ARG_EQ(x, y) (g_ascii_strcasecmp(x, y) == 0) + if (ARG_EQ(value, "1") + || ARG_EQ(value, "true") + || ARG_EQ(value, "yes")) + *out_parsed = TRUE; + else if (ARG_EQ(value, "0") + || ARG_EQ(value, "false") + || ARG_EQ(value, "no") + || ARG_EQ(value, "none")) + *out_parsed = FALSE; + else + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + "Invalid boolean argument '%s'", value); + return FALSE; + } + + return TRUE; +} + +gboolean +ot_parse_keyvalue (const char *keyvalue, + char **out_key, + char **out_value, + GError **error) +{ + const char *eq = strchr (keyvalue, '='); + if (!eq) + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + "Missing '=' in KEY=VALUE for --set"); + return FALSE; + } + *out_key = g_strndup (keyvalue, eq - keyvalue); + *out_value = g_strdup (eq + 1); + return TRUE; +} diff --git a/src/libotutil/ot-tool-util.h b/src/libotutil/ot-tool-util.h new file mode 100644 index 00000000..74d69ce0 --- /dev/null +++ b/src/libotutil/ot-tool-util.h @@ -0,0 +1,38 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- + * + * Copyright (C) 2015 Colin Walters + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#pragma once + +#include + +G_BEGIN_DECLS + +gboolean +ot_parse_boolean (const char *option_name, + const char *value, + gboolean *out_parsed, + GError **error); +gboolean +ot_parse_keyvalue (const char *keyvalue, + char **out_key, + char **out_value, + GError **error); + +G_END_DECLS diff --git a/src/ostree/ot-tool-util.c b/src/ostree/ot-tool-util.c deleted file mode 100644 index f4dc8f9b..00000000 --- a/src/ostree/ot-tool-util.c +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- - * - * Copyright (C) 2015 Colin Walters - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" - -#include "ot-admin-functions.h" -#include "otutil.h" -#include "ostree.h" -#include "libgsystem.h" -#include "ot-tool-util.h" - -gboolean -ot_parse_boolean (const char *option_name, - const char *value, - gboolean *out_parsed, - GError **error) -{ -#define ARG_EQ(x, y) (g_ascii_strcasecmp(x, y) == 0) - if (ARG_EQ(value, "1") - || ARG_EQ(value, "true") - || ARG_EQ(value, "yes")) - *out_parsed = TRUE; - else if (ARG_EQ(value, "0") - || ARG_EQ(value, "false") - || ARG_EQ(value, "no") - || ARG_EQ(value, "none")) - *out_parsed = FALSE; - else - { - g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, - "Invalid boolean argument '%s'", value); - return FALSE; - } - - return TRUE; -} - -gboolean -ot_parse_keyvalue (const char *keyvalue, - char **out_key, - char **out_value, - GError **error) -{ - const char *eq = strchr (keyvalue, '='); - if (!eq) - { - g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, - "Missing '=' in KEY=VALUE for --set"); - return FALSE; - } - *out_key = g_strndup (keyvalue, eq - keyvalue); - *out_value = g_strdup (eq + 1); - return TRUE; -} diff --git a/src/ostree/ot-tool-util.h b/src/ostree/ot-tool-util.h deleted file mode 100644 index db409221..00000000 --- a/src/ostree/ot-tool-util.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- - * - * Copyright (C) 2015 Colin Walters - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#pragma once - -#include -#include - -G_BEGIN_DECLS - -gboolean -ot_parse_boolean (const char *option_name, - const char *value, - gboolean *out_parsed, - GError **error); -gboolean -ot_parse_keyvalue (const char *keyvalue, - char **out_key, - char **out_value, - GError **error); - -G_END_DECLS